import type { ExtensibleEntityDto, ExtensibleObject, IHasCode, IHasConcurrencyStamp, IHasEnable, IHasSorted, IMultiTenant, PagedAndSortedResultRequestDto } from "../../type";

export interface GetDictItemInput extends PagedAndSortedResultRequestDto {
    categoryId: string;
    filter?: string;
}

export interface DictItemDto extends ExtensibleEntityDto<string>, IHasSorted, IHasCode, IHasConcurrencyStamp, IHasEnable, IMultiTenant {
    categoryId: string;
    style: string;
    value: string;
    parnetId?: string;
    name: string;
    key: string;
    describe: string;
}

export interface DictItemCreateOrUpdateDtoBase extends ExtensibleObject, IHasSorted {
    style: string;
    name: string;
    describe: string;
}

export interface DictItemCreateDto extends DictItemCreateOrUpdateDtoBase {
    categoryId: string;
    value: string;
    parnetId?: string;
    key: string;
}

export interface DictItemUpdateDto extends DictItemCreateOrUpdateDtoBase, IHasConcurrencyStamp, IHasEnable {
}